package java_oop.demo06;

/**
 * @author IT_Jay
 * @date 2022/1/25 20:16
 */

public class Person {
    public void run(){
        System.out.println("run");
    }

}


/**
 * 多态注意事项：
 *      1、多态是方法的多态，属性无多态
 *      2、父类和子类，有联系  类型转换异常ClassCastException
 *      3、存在条件：继承关系，方法需要重写，父类的引用指向子类对象  Father f1  = new Son（）；
 *
 *                              不能重写
 *                              1、static方法，属于类，不属于实例
 *                              2、final 常量
 *                              3、private 方法；
 */

/**
 * //main方法
 *
 * public static void main(String[] args) {
 *         //一个对象的实际类型是确定的
 * //        new Student();
 * //        new Person();
 *
 *         //可以指向的类型就不确定了:父类的引用指向子类
 *
 *         //Student能调用的方法都是自己的或者继承父类的
 *         Student s1 = new Student();
 *         //Person父类型，可以指向子类，但是不能调用子类独有的方法
 *         Person s2 = new Student();
 *         Object s3 = new Student();
 *
 *         //对象能执行哪些方法，主要看对象左边类型！
 *         s2.run();   //重写之前输出run；Override后，子类重写父类的方法，执行子类的方法
 *         s1.run();
 *
 *         s1.eat();
 * //        s2.eat();     //报错，
 *     }
 */